|
Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as a teaching tool, but are also popular among expert designers〔Martin Fowler, ''UML Distilled'', chapter 4〕 and recommended by extreme programming supporters.〔(A concise introduction at extremeprogramming.org )〕 Martin Fowler has described CRC cards as a viable alternative to UML sequence diagram to design the dynamics of object interaction and collaboration.〔 CRC cards are usually created from index cards. Members of a brainstorming session will write up one CRC card for each relevant class/object of their design. The card is partitioned into three areas:〔〔 # On top of the card, the class name # On the left, the responsibilities of the class # On the right, collaborators (other classes) with which this class interacts to fulfill its responsibilities Using a small card keeps the complexity of the design at a minimum. It focuses the designer on the essentials of the class and prevents her/him from getting into its details and inner workings at a time when such detail is probably counter-productive. It also forces the designer to refrain from giving the class too many responsibilities. Because the cards are portable, they can easily be laid out on a table and re-arranged while discussing a design with other people. == Creating CRC cards == To create a CRC card, you can begin by writing out a scenario which identifies the major actors and actions which the actors do. Only write out actions and actors specific to that particular scenario. Nouns should turn into the ''classes'' of the card, verbs typically turn into the ''responsibilities'' of the ''card'', and ''collaborators'' are the other cards with which the card will be interacting with. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Class-responsibility-collaboration card」の詳細全文を読む スポンサード リンク
|